package city.spring.modules.expense.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 实体类：费用记录（缴费/消费）
 *
 * @author pxm
 * @date 2020-08-25 15:19:20
 */
@Data
@TableName("expense_record")
public class ExpenseRecordEntity implements Serializable {

    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 老人ID
     */
    private String oldmanId;
    /**
     * 床位号
     */
    private String bedNum;

    /**
     * 金额
     */
    private BigDecimal money;

    /**
     * 发生时间（结算时间）
     */
    private Date happenTime;

    /**
     * 缴费人
     */
    private String payer;

    /**
     * 类型（缴费/消费）
     */
    private String type;

    /**
     * 类别（缴费：入住交费、退住结算）
     */
    private String category;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 登记人（确认人）
     */
    private String registrant;

    /**
     * 作废时间
     */
    private Date invalidTime;

    /**
     * 是否作废
     */
    private Integer isInvalid;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 结算状态
     */
    private Integer settlementStatus;

    /**
     * 审核状态
     */
    private Integer status;

    /**
     * 审核人
     */
    private String checker;

    /**
     * 审核时间
     */
    private LocalDateTime checkTime;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 更新时间
     */
    private Date gmtModified;

    /**
     * 项目ID ，其他消费 关联收费项目或其他来源的项目
     */
    private String projectId;

    /**
     * 减免费用
     */
    private BigDecimal reducedfee;

    /**
     * 折后费用
     */
    private BigDecimal discountedcost;

    /**
     * 实交费用
     */
    private BigDecimal actualfee;

    /**
     * 应缴费用
     */
    private BigDecimal feesPayable;

    /**
     * 收费单号
     */
    private String billId;

}